import ACCESS_ENUM from "@/access/accessEnum";

/**
 * 权限检查（判断当前用户是否具有某个权限）
 * @param loginUser 当前登录用户
 * @param needAccesss 需要有的权限
 * @returns boolean 是否具有权限
 */


const checkAccess = (
  loginUser: API.FunRiceUser,
  needAccesss = ACCESS_ENUM.NOT_LOGIN,
) => {
    // 获取当前登录用户的所有权限（如果没有登录，默认无权限）
    const loginUserAccess = loginUser?.userRole ?? ACCESS_ENUM.NOT_LOGIN;
    if (needAccesss === ACCESS_ENUM.NOT_LOGIN) {
        return true;
    }
    // 如果需要登录才能访问
    if (needAccesss === ACCESS_ENUM.USER) {
        if (loginUserAccess ===ACCESS_ENUM.NOT_LOGIN) {
            return false;
        };
    }
    // 如果需要登录管理员权限才能访问
    if (needAccesss === ACCESS_ENUM.ADMIN) {
        //必须要管理员权限
        if (loginUserAccess !==ACCESS_ENUM.ADMIN) {
            return false;
        };
    }
    return true;
};
export default checkAccess;